// Vanity overriding wisdom.

#include <bits/stdc++.h>

using ll = long long;

namespace FastIO {
	template <typename T> inline T read() { T x = 0, w = 0; char ch = getchar(); while (ch < '0' || ch > '9') w |= (ch == '-'), ch = getchar(); while ('0' <= ch && ch <= '9') x = x * 10 + ch - '0', ch = getchar(); return w ? -x : x; }
	template <typename T> inline void write(T x) { if (x == 0) return; write<T>(x / 10), putchar(x % 10 + '0'); }
	template <typename T> inline void print(T x) { if (x < 0) putchar('-'), x = -x; if (x == 0) putchar('0'); write<T>(x); }
	template <typename T> inline void print(T x, char ed) { print<T>(x), putchar(ed); }
}; using namespace FastIO;

const int V = 200000;
int cnt[V + 1];

int main() {
	freopen("duel.in", "r", stdin);
	freopen("duel.out", "w", stdout);
	int N = read<int>();
	for (int i = 1; i <= N; ++i) ++cnt[read<int>()];
	print<int>(*std::max_element(cnt + 1, cnt + V + 1), '\n');
	return 0;
}
